Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування Частина III Структури даних та алгоритми

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Старий Кафедра ЕОМ Звіт з лабораторної роботи №2 з дисципліни "Програмування. Частина III. Структури даних та алгоритми" Варіант: RN = 1992 MN = 11 % 8 = 3 DN = 11 mn = 03 dn = 11 Pr1 = №(D) = 68 рr2 = №(a) = 97 рr3 = №(s) = 115 Львів 2012 1. Мета роботи: Дослідження методів та засобів явного і неявного перетворення типів даних. 2. Постановка задачі: Завдання 1. Неявні перетворення типів даних char x0 = 0x1992 - 10; float x1; unsigned short x2 = 03; short x3 = 68 - 110; bool x4 = 11 % 3 * 10; x1 = x0 + x2 + x4 + 0Х123; x2 = x2 + x3 - 0123; x3 = x1 + x2 * 0.123 + ’1’; Завдання 2. Явні перетворення типів даних const int x_0=11*3*100 = 3300; const int x_1= 011030; const int x_2= 0x1103; const int x_3= 003110; const int x_4= 0x0311; const double y_0=11*3/100 = 0,33; const double y_1= - 11.3; const double y_2= 3.11e+2; const double y_3= - 11.3e1; const double y_4= - 3.11e-1; int x = х_1; double y = y_3; float v1 = static_cast< float > (x); char v2 = static_cast<char> (x); float v3 =*reinterpret_cast<float*> (&x)+1; char v4 =*(reinterpret_cast<char*> (&x)+2)+3; int w1 = static_cast<int>(y)+0X0E2; long w2 =*reinterpret_cast<long*>(&y)+1; short w3 =*(reinterpret_cast<short*>(&y)+2); char w4 =*(reinterpret_cast<char*>(&y)+7)+3; 3. Система тестів: 3.1. Неявні перетворення типів даних: 1) x1 = x0 + x2 + x4+0Х123; 2) x2 = x2 + x3 - 0123; 3) x3 = x1 + x2 * 0.123 + ’1’; 3.2 Явні перетворення типів даних: 1) float v1 = static_cast<float> (x); 2) char v2 = static_cast<char> (x); 3) float v3 =*reinterpret_cast<float*> (&x)+1; 4) char v4 =*(reinterpret_cast<char*> (&x)+2)+3; 5) int w1 =static_cast<int>(y)+0X0E2; 6) long w2 =*reinterpret_cast<long*>(&y)+1; 7) short w3 =*(reinterpret_cast<short*>(&y)+2); 8) char w4 =*(reinterpret_cast<char*>(&y)+7)+3; Завдання 1.1 char x0 = 0x1992 - 10; float x1; unsigned short x2 = 03; short x3 = 68 - 110; bool x4 = 11 % 3 * 10; Обчислимо значення виразу: x1 = x0 +x2 + x4 + 0х123; Оскільки в арифметичному виразі х1 в нас є операнди різного типу, то згідно правил неявного перетворення типів всі типи переводяться до типу операнда розмір якого є найбільшим. 0x123 – це константа, а константи в мові С++ зберігаються в типі int. Отже, в даному виразі int є операнд найбільшого розміру, тому x0(char), x2(unsigned shor) та x4(bool) будуть неявно переведені до типу int. Результуючим типом буде тип об’єкта якому присвоюється значення, тому після виконання операцій, які знаходяться ліворуч від символа присвоєння результат їхнього типу буде переведено в тип операнда якому присвоюється значення, а саме float (x1). char x0 = 0x1992 - 10; // Переводимо в тип int вираз, що знаходиться ліворуч, а потім результат в тип char Для виразу ліворуч при ініціалізації: 199216 - 1010 = 654610 - 1010 = 653610 Число: 653610 = 00 00 19 8816 ВПК(int): 88 19 00 00 Результат присвоєння змінній х0: ВПК(char): 88 Змінна х0 переведена в тип int: ВПК(int): 88 FF FF FF FF FF FF 8816 = 1111 1111 1111 1111 1111 1111 1000 10002 1111 1111 1111 1111 1111 1111 1000 1000 – доповняльний 0000 0000 0000 0000 0000 0000 0111 0111 – обернений Модуль числа: 00 00 00 7716 = 11910 Число х0 в типі int: - 11910 unsigned short x2 = 03; ВПК(short):03 00 ВПК(int):03 00 00 00 Згідно неявного перетворення: Число х2 в типі int: 310 bool x4 = 11 % 3 * 10; // 11%3 =2 x4 = 2; ВПК(bool): 02 ВПК(int): 02 00 00 00 Число х4 в типі int: 210 0x123 = 12316 = 29110 x1 = x0 + x2 + x4 + 0x123 = -119 + 3 + 2 + 291 = 175 Відповідь: x1 = 175.0 Завдання 1.2 char x0 = 0x1992 - 10; float x1; unsigned short x2 = 03; short x3 = 68 - 110; bool x4 = 11 % 3 * 10; Обчислимо значення виразу: x2 = x2 + x3 - 0123; В виразі праворуч типу операнда розмір якого найбільший є int (константа ...
Антиботан аватар за замовчуванням

18.03.2015 01:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини